package org.gap.web.jsf;

import java.util.Calendar;
import java.util.List;

import org.gap.domain.Adherent;
import org.gap.domain.CaractPM;
import org.gap.domain.CaractPP;
import org.gap.domain.Patient;
import org.gap.domain.RelationsTiers;
import org.gap.domain.RolesTiers;
import org.gap.domain.Tiers;
import org.gap.domain.TiersModif;
import org.gap.domain.Utilisateurs;

/**
 * Spring Component that handles CRUD requests for Tiers entities
 * 
 */
public interface TiersComponent {

	/**
	 * Save an existing Tiers entity
	 * 
	 */
	public String saveTiers(Tiers tiers);

	/**
	 * Get CaractPP entity by Tiers
	 * 
	 */
	public CaractPP getTiersCaractPP(Integer tieTiersKey);

	/**
	 * Select the child RelationsTiers entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers, Integer related_relationstiersesforrlttiersparent_rltTiersParent, Integer related_relationstiersesforrlttiersparent_rltTiersFils, String related_relationstiersesforrlttiersparent_rltRelation);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public RolesTiers getRolestierses();

	/**
	 * Show all RolesTiers entities by Tiers
	 * 
	 */
	public List<RolesTiers> listTiersRolesTierses(Integer tieTiersKey_1);

	/**
	 * Create a new TiersModif entity
	 * 
	 */
	public String newTiersTiersModifs(Integer tiers_tieTiers_1);

	/**
	 * View an existing CaractPM entity
	 * 
	 */
	public String selectTiersCaractPM(Integer tiers_tieTiers_2, Integer related_caractpm_cpmTiers);

	/**
	 * Show all Tiers entities
	 * 
	 */
	public List<Tiers> listTierss();

	/**
	 * Create a new Patient entity
	 * 
	 */
	public String newTiersPatients(Integer tiers_tieTiers_3);

	/**
	 * Edit an existing TiersModif entity
	 * 
	 */
	public String editTiersTiersModifs(Integer tiers_tieTiers_4, Integer related_tiersmodifs_tmoTiers, String related_tiersmodifs_tmoNomChampModif, Calendar related_tiersmodifs_tmoDateModification);

	/**
	 * Select the child Patient entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersPatients(Integer tiers_tieTiers_5, Integer related_patients_patPatient);

	/**
	 * Create a new CaractPM entity
	 * 
	 */
	public String newTiersCaractPM(Integer tiers_tieTiers_6);

	/**
	 * Delete an existing RelationsTiers entity
	 * 
	 */
	public String deleteTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers_7, Integer related_relationstiersesforrlttiersparent_rltTiersParent_1, Integer related_relationstiersesforrlttiersparent_rltTiersFils_1, String related_relationstiersesforrlttiersparent_rltRelation_1);

	/**
	 * Save an existing CaractPM entity
	 * 
	 */
	public String saveTiersCaractPM(Integer tiers_tieTiers_8, CaractPM caractpm);

	/**
	 * Create a new RelationsTiers entity
	 * 
	 */
	public String newTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers_9);

	/**
	 * Delete an existing Utilisateurs entity
	 * 
	 */
	public String deleteTiersUtilisateurses(Integer tiers_tieTiers_10, String related_utilisateurses_usrUser);

	/**
	 * Select an existing Tiers entity
	 * 
	 */
	public String selectTiers(Integer tieTiersKey_2);

	/**
	 * Create a new RolesTiers entity
	 * 
	 */
	public String newTiersRolesTierses(Integer tiers_tieTiers_11);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public RelationsTiers getRelationstiersesforrlttiersparent();

	/**
	 * Get CaractPM entity by Tiers
	 * 
	 */
	public CaractPM getTiersCaractPM(Integer tieTiersKey_3);

	/**
	 * Edit an existing RelationsTiers entity
	 * 
	 */
	public String editTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers_12, Integer related_relationstiersesforrlttiersparent_rltTiersParent_2, Integer related_relationstiersesforrlttiersparent_rltTiersFils_2, String related_relationstiersesforrlttiersparent_rltRelation_2);

	/**
	 * Edit an existing Adherent entity
	 * 
	 */
	public String editTiersAdherents(Integer tiers_tieTiers_13, Integer related_adherents_adhId);

	/**
	 * Save an existing Adherent entity
	 * 
	 */
	public String saveTiersAdherents(Integer tiers_tieTiers_14, Adherent adherent);

	/**
	 * Delete an existing TiersModif entity
	 * 
	 */
	public String deleteTiersTiersModifs(Integer tiers_tieTiers_15, Integer related_tiersmodifs_tmoTiers_1, String related_tiersmodifs_tmoNomChampModif_1, Calendar related_tiersmodifs_tmoDateModification_1);

	/**
	 * Save an existing RelationsTiers entity
	 * 
	 */
	public String saveTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers_16, RelationsTiers relationstiers);

	/**
	 * Edit an existing Utilisateurs entity
	 * 
	 */
	public String editTiersUtilisateurses(Integer tiers_tieTiers_17, String related_utilisateurses_usrUser_1);

	/**
	 * Select the child CaractPM entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersCaractPM(Integer tiers_tieTiers_18, Integer related_caractpm_cpmTiers_1);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public Tiers getTiers();

	/**
	 * Save an existing Utilisateurs entity
	 * 
	 */
	public String saveTiersUtilisateurses(Integer tiers_tieTiers_19, Utilisateurs utilisateurs);

	/**
	 * Edit an existing Patient entity
	 * 
	 */
	public String editTiersPatients(Integer tiers_tieTiers_20, Integer related_patients_patPatient_1);

	/**
	 * Select the Tiers entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiers(Integer tieTiersKey_4);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public CaractPM getCaractpm();

	/**
	 * View an existing TiersModif entity
	 * 
	 */
	public String selectTiersTiersModifs(Integer tiers_tieTiers_21, Integer related_tiersmodifs_tmoTiers_2, String related_tiersmodifs_tmoNomChampModif_2, Calendar related_tiersmodifs_tmoDateModification_2);

	/**
	 * Create a new CaractPP entity
	 * 
	 */
	public String newTiersCaractPP(Integer tiers_tieTiers_22);

	/**
	 * Create a new Utilisateurs entity
	 * 
	 */
	public String newTiersUtilisateurses(Integer tiers_tieTiers_23);

	/**
	 * Delete an existing Patient entity
	 * 
	 */
	public String deleteTiersPatients(Integer tiers_tieTiers_24, Integer related_patients_patPatient_2);

	/**
	 * Create a new Adherent entity
	 * 
	 */
	public String newTiersAdherents(Integer tiers_tieTiers_25);

	/**
	 * Edit an existing RelationsTiers entity
	 * 
	 */
	public String editTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers_26, Integer related_relationstiersesforrlttiersfils_rltTiersParent, Integer related_relationstiersesforrlttiersfils_rltTiersFils, String related_relationstiersesforrlttiersfils_rltRelation);

	/**
	 * Edit an existing Tiers entity
	 * 
	 */
	public String editTiers(Integer tieTiersKey_5);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public CaractPP getCaractpp();

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public RelationsTiers getRelationstiersesforrlttiersfils();

	/**
	 * Edit an existing CaractPP entity
	 * 
	 */
	public String editTiersCaractPP(Integer tiers_tieTiers_27, Integer related_caractpp_cppTiers);

	/**
	 * View an existing RelationsTiers entity
	 * 
	 */
	public String selectTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers_28, Integer related_relationstiersesforrlttiersparent_rltTiersParent_3, Integer related_relationstiersesforrlttiersparent_rltTiersFils_3, String related_relationstiersesforrlttiersparent_rltRelation_3);

	/**
	 * Delete an existing RolesTiers entity
	 * 
	 */
	public String deleteTiersRolesTierses(Integer tiers_tieTiers_29, String related_rolestierses_rotRole, Integer related_rolestierses_rotTiers);

	/**
	 * Delete an existing RelationsTiers entity
	 * 
	 */
	public String deleteTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers_30, Integer related_relationstiersesforrlttiersfils_rltTiersParent_1, Integer related_relationstiersesforrlttiersfils_rltTiersFils_1, String related_relationstiersesforrlttiersfils_rltRelation_1);

	/**
	 * Delete an existing CaractPM entity
	 * 
	 */
	public String deleteTiersCaractPM(Integer tiers_tieTiers_31, Integer related_caractpm_cpmTiers_2);

	/**
	 * Edit an existing RolesTiers entity
	 * 
	 */
	public String editTiersRolesTierses(Integer tiers_tieTiers_32, String related_rolestierses_rotRole_1, Integer related_rolestierses_rotTiers_1);

	/**
	 * Delete an existing Adherent entity
	 * 
	 */
	public String deleteTiersAdherents(Integer tiers_tieTiers_33, Integer related_adherents_adhId_1);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public TiersModif getTiersmodifs();

	/**
	 * Delete an existing CaractPP entity
	 * 
	 */
	public String deleteTiersCaractPP(Integer tiers_tieTiers_34, Integer related_caractpp_cppTiers_1);

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public Adherent getAdherents();

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public Utilisateurs getUtilisateurses();

	/**
	 * Getter for variable Tiers
	 * 
	 */
	public Patient getPatients();

	/**
	 * View an existing RolesTiers entity
	 * 
	 */
	public String selectTiersRolesTierses(Integer tiers_tieTiers_35, String related_rolestierses_rotRole_2, Integer related_rolestierses_rotTiers_2);

	/**
	 * Save an existing RolesTiers entity
	 * 
	 */
	public String saveTiersRolesTierses(Integer tiers_tieTiers_36, RolesTiers rolestiers);

	/**
	 * Select the child TiersModif entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersTiersModifs(Integer tiers_tieTiers_37, Integer related_tiersmodifs_tmoTiers_3, String related_tiersmodifs_tmoNomChampModif_3, Calendar related_tiersmodifs_tmoDateModification_3);

	/**
	 * Save an existing Patient entity
	 * 
	 */
	public String saveTiersPatients(Integer tiers_tieTiers_38, Patient patient);

	/**
	 * Select the child CaractPP entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersCaractPP(Integer tiers_tieTiers_39, Integer related_caractpp_cppTiers_2);

	/**
	 * View an existing Adherent entity
	 * 
	 */
	public String selectTiersAdherents(Integer tiers_tieTiers_40, Integer related_adherents_adhId_2);

	/**
	 * Select the child Adherent entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersAdherents(Integer tiers_tieTiers_41, Integer related_adherents_adhId_3);

	/**
	 * View an existing CaractPP entity
	 * 
	 */
	public String selectTiersCaractPP(Integer tiers_tieTiers_42, Integer related_caractpp_cppTiers_3);

	/**
	 * Show all RelationsTiers entities by Tiers
	 * 
	 */
	public List<RelationsTiers> listTiersRelationsTiersesForRltTiersFils(Integer tieTiersKey_6);

	/**
	 * Edit an existing CaractPM entity
	 * 
	 */
	public String editTiersCaractPM(Integer tiers_tieTiers_43, Integer related_caractpm_cpmTiers_3);

	/**
	 * Select the child RolesTiers entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersRolesTierses(Integer tiers_tieTiers_44, String related_rolestierses_rotRole_3, Integer related_rolestierses_rotTiers_3);

	/**
	 * Show all Utilisateurs entities by Tiers
	 * 
	 */
	public List<Utilisateurs> listTiersUtilisateurses(Integer tieTiersKey_7);

	/**
	 * View an existing Patient entity
	 * 
	 */
	public String selectTiersPatients(Integer tiers_tieTiers_45, Integer related_patients_patPatient_3);

	/**
	 * Create a new Tiers entity
	 * 
	 */
	public String newTiers();

	/**
	 * View an existing RelationsTiers entity
	 * 
	 */
	public String selectTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers_46, Integer related_relationstiersesforrlttiersfils_rltTiersParent_2, Integer related_relationstiersesforrlttiersfils_rltTiersFils_2, String related_relationstiersesforrlttiersfils_rltRelation_2);

	/**
	 * Show all RelationsTiers entities by Tiers
	 * 
	 */
	public List<RelationsTiers> listTiersRelationsTiersesForRltTiersParent(Integer tieTiersKey_8);

	/**
	 * Show all Adherent entities by Tiers
	 * 
	 */
	public List<Adherent> listTiersAdherents(Integer tieTiersKey_9);

	/**
	 * Delete an existing Tiers entity
	 * 
	 */
	public String deleteTiers(Integer tieTiersKey_10);

	/**
	 * Save an existing RelationsTiers entity
	 * 
	 */
	public String saveTiersRelationsTiersesForRltTiersParent(Integer tiers_tieTiers_47, RelationsTiers relationstiers_1);

	/**
	 * View an existing Utilisateurs entity
	 * 
	 */
	public String selectTiersUtilisateurses(Integer tiers_tieTiers_48, String related_utilisateurses_usrUser_2);

	/**
	 * Select the child Utilisateurs entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersUtilisateurses(Integer tiers_tieTiers_49, String related_utilisateurses_usrUser_3);

	/**
	 * Show all TiersModif entities by Tiers
	 * 
	 */
	public List<TiersModif> listTiersTiersModifs(Integer tieTiersKey_11);

	/**
	 * Select the child RelationsTiers entity for display allowing the user to confirm that they would like to delete the entity
	 * 
	 */
	public String confirmDeleteTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers_50, Integer related_relationstiersesforrlttiersfils_rltTiersParent_3, Integer related_relationstiersesforrlttiersfils_rltTiersFils_3, String related_relationstiersesforrlttiersfils_rltRelation_3);

	/**
	 * Show all Patient entities by Tiers
	 * 
	 */
	public List<Patient> listTiersPatients(Integer tieTiersKey_12);

	/**
	 * Save an existing CaractPP entity
	 * 
	 */
	public String saveTiersCaractPP(Integer tiers_tieTiers_51, CaractPP caractpp);

	/**
	 * Create a new RelationsTiers entity
	 * 
	 */
	public String newTiersRelationsTiersesForRltTiersFils(Integer tiers_tieTiers_52);

	/**
	 * Save an existing TiersModif entity
	 * 
	 */
	public String saveTiersTiersModifs(Integer tiers_tieTiers_53, TiersModif tiersmodif);
	
	public String rechercheSimple();
}